Processing and replacement of contents of an array with contents of a second array may require human intervention and selection of tokens for replacement. For example, given a first array and a second array and rules limiting how tokens may be processed or replaced, a subset of tokens in the first array may be selectively processed or replaced with tokens from the second array. In many implementations, the subset of tokens in the first array may be greater than one—that is, a plurality of alternate selections may be possible. A user may select which of the plurality of selections for the processing device to perform, triggering corresponding processing and replacement actions.
Particularly for complex arrays, which tokens may be replaced or selected for processing may not be readily apparent to a user. The subset of potentially processable or replaceable tokens in the first array may be large, such that the user may fail identify some of the subset or fail to remember all potential selections when deciding which token to process or replace. In another example, the array size may be large and the subset of tokens may be sparsely distributed through the array, making it difficult and time consuming for the user to identify potential selections.
One attempt to provide an intuitive interface for selecting processable or replaceable tokens is to provide highlighting or other indications of selectable tokens. However, as discussed above, with large arrays, sparse subsets, or numerous subsets, merely highlighting selectable tokens may result in information overload and user confusion, depending on the number and positions of highlighted tokens. Accordingly, such user interfaces, and the underlying mechanisms for token identification and selection for processing, may be unintuitive, difficult and slow to use, and cause user frustration.